Mobile communication devices—such as smart phones and wearable devices—may be capable of running and interacting with a plurality of user applications, sometimes referred to as application software. A mobile communication device may be referred to in some contexts as a user equipment (UE). In a layered model of computing architecture, user applications on the UE operate at the highest level (i.e. the application layer) and include programs that are designed for an end user to enable the UE to perform a group of coordinated functions, tasks, or activities. Examples of user applications that operate at the highest level include, but are not limited to, social media applications, weather applications, sports applications, gaming applications, finance applications, travel applications, and a wide variety of other software for end user interaction on a UE. The layered model for the UE also includes a system level that may operate between the hardware level for the UE's hardware and the highest level for the user applications. User applications are at least partially dependent on system software at the system level (e.g., core applications) to execute on the UE. The system level includes system software that interfaces between the hardware and user applications, and also manages aspects of hardware and software resources on the UE. Examples of system software may include, but are not limited to, operating systems, firmware, and core applications such as assemblers, utility programs, compilers, debuggers, file management tools, or other core applications that interface and manage hardware and software resources.